package com.jichangxiu.server.platform.entity.map;

import com.jichangxiu.server.platform.entity.dto.PlatformDeptQueryDto;
import com.jichangxiu.server.platform.entity.po.PlatformDept;
import com.jichangxiu.server.platform.entity.vo.PlatformDeptAddVo;
import com.jichangxiu.server.platform.entity.vo.PlatformDeptEditVo;
import com.jichangxiu.server.platform.entity.vo.PlatformDeptQueryVo;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * PlatformDeptBasic:
 *
 * @author Jcx
 * @create 2023-03-19 8:41
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface PlatformDeptBasic {

    public PlatformDeptBasic INSTANCE = Mappers.getMapper(PlatformDeptBasic.class);

    /**
     * 转换 PlatformDept
     *
     * @param platformDeptAddVo 视图对象
     * @return 数据库对象
     */
    public PlatformDept toPlatformDept(PlatformDeptAddVo platformDeptAddVo);

    /**
     * 转换 PlatformDept
     *
     * @param platformDeptEditVo 视图对象
     * @return 数据库对象
     */
    public PlatformDept toPlatformDept(PlatformDeptEditVo platformDeptEditVo);

    /**
     * 转换 PlatformDept
     *
     * @param platformDeptQueryVo 视图对象
     * @return 数据库对象
     */
    public PlatformDept toPlatformDept(PlatformDeptQueryVo platformDeptQueryVo);

    /**
     * 转换 PlatformDeptQueryDto
     *
     * @param platformDept 数据库对象
     * @return 传输对象
     */
    public PlatformDeptQueryDto toPlatformDeptQueryDto(PlatformDept platformDept);

    /**
     * 转换 PlatformDeptQueryDto 列表
     *
     * @param platformDeptList 数据库对象列表
     * @return 传输对象列表
     */
    public List<PlatformDeptQueryDto> toPlatformDeptQueryDtoList(List<PlatformDept> platformDeptList);

}
